| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <template>
- <LayoutContainer>
- <UiLoadingPanel v-if="pending" />
- <div v-else>
- <h2> Editer la zone de résidence</h2>
- <UiForm
- ref="form"
- :model="ResidenceArea"
- :entity="residence_areas"
- :submitActions="submitActions"
- >
- <UiInputText field="label" v-model="residence_areas.label" :rules="rules()" />
- </UiForm>
- </div>
- </LayoutContainer>
- </template>
- <script setup lang="ts">
- import { ref, onMounted } from 'vue'
- import { useEntityFetch } from '~/composables/data/useEntityFetch'
- import ResidenceArea from '~/models/Billing/ResidenceArea'
- import { useRoute } from 'vue-router'
- import { useI18n } from 'vue-i18n'
- import {AnyJson} from "~/types/data";
- import {SUBMIT_TYPE} from "~/types/enum/enums";
- const i18n = useI18n()
- const { fetch } = useEntityFetch()
- const route = useRoute()
- const id = ref(route.params.id)
- const goBackRoute = { path: `/parameters`, query: { tab: 'residenceAreas' } }
- const submitActions = computed(() => {
- let actions: AnyJson = {}
- actions[SUBMIT_TYPE.SAVE_AND_BACK] = goBackRoute
- return actions
- })
- const {data : residence_areas, pending} = fetch(ResidenceArea, id.value)
- const rules = () => [
- (label: string | null) =>
- (label !== null && label.length > 0) || i18n.t('please_enter_a_value'),
- ]
- </script>
|